package com.baor.order.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.baor.common.annotation.Excel;
import com.baor.common.core.domain.BaseEntity;

/**
 * 发票对象 t_invoice
 * 
 * @author ruoyi
 * @date 2025-07-18
 */
public class TInvoice extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 发票id */
    private Long invoiceId;

    /** 发票抬头 */
    @Excel(name = "发票抬头")
    private String invoiceName;

    /** 抬头类型 0、增值税专票 0、个人发票 */
    @Excel(name = "抬头类型 0、增值税专票 0、个人发票")
    private Long type;

    /** 纳税人识别号 */
    @Excel(name = "纳税人识别号")
    private String identityNo;

    /** 发票内容 */
    @Excel(name = "发票内容")
    private String content;

    /** 开票金额 */
    @Excel(name = "开票金额")
    private String amount;

    /** 开票时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开票时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date invoiceTime;

    /** 发票状态 0、未开票 1、已开票 */
    @Excel(name = "发票状态 0、未开票 1、已开票")
    private Long invoiceStatus;

    /** 是否开票 0、否 1、是 */
    @Excel(name = "是否开票 0、否 1、是")
    private Long status;

    /** 备注 */
    @Excel(name = "备注")
    private String remarks;

    /** 是否删除 0、未删除 1、已删除 */
    @Excel(name = "是否删除 0、未删除 1、已删除")
    private Long delFlag;

    private String beginTime;
    private String endTime;

    public String getBeginTime() {
        return beginTime;
    }

    public void setBeginTime(String beginTime) {
        this.beginTime = beginTime;
    }

    public String getEndTime() {
        return endTime;
    }

    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }

    public void setInvoiceId(Long invoiceId)
    {
        this.invoiceId = invoiceId;
    }

    public Long getInvoiceId() 
    {
        return invoiceId;
    }

    public void setInvoiceName(String invoiceName) 
    {
        this.invoiceName = invoiceName;
    }

    public String getInvoiceName() 
    {
        return invoiceName;
    }

    public void setType(Long type) 
    {
        this.type = type;
    }

    public Long getType() 
    {
        return type;
    }

    public void setIdentityNo(String identityNo) 
    {
        this.identityNo = identityNo;
    }

    public String getIdentityNo() 
    {
        return identityNo;
    }

    public void setContent(String content) 
    {
        this.content = content;
    }

    public String getContent() 
    {
        return content;
    }

    public void setAmount(String amount) 
    {
        this.amount = amount;
    }

    public String getAmount() 
    {
        return amount;
    }

    public void setInvoiceTime(Date invoiceTime) 
    {
        this.invoiceTime = invoiceTime;
    }

    public Date getInvoiceTime() 
    {
        return invoiceTime;
    }

    public void setInvoiceStatus(Long invoiceStatus) 
    {
        this.invoiceStatus = invoiceStatus;
    }

    public Long getInvoiceStatus() 
    {
        return invoiceStatus;
    }

    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }

    public void setRemarks(String remarks) 
    {
        this.remarks = remarks;
    }

    public String getRemarks() 
    {
        return remarks;
    }

    public void setDelFlag(Long delFlag) 
    {
        this.delFlag = delFlag;
    }

    public Long getDelFlag() 
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("invoiceId", getInvoiceId())
            .append("invoiceName", getInvoiceName())
            .append("type", getType())
            .append("identityNo", getIdentityNo())
            .append("content", getContent())
            .append("amount", getAmount())
            .append("invoiceTime", getInvoiceTime())
            .append("invoiceStatus", getInvoiceStatus())
            .append("status", getStatus())
            .append("remarks", getRemarks())
            .append("delFlag", getDelFlag())
            .append("createTime", getCreateTime())
            .toString();
    }
}
